﻿namespace Admin.CommonLib.Constants
{
    public static class ApiRoutes
    {
        private const string Root = "api";
        private const string Version = "v1";
        private const string Base = Root + "/" + Version;

        public static class User
        {
            public const string QueryUsers = Base + "/users";

            public const string DeleteUser = Base + "/users/{id}";

            public const string UpdateUser = Base + "/users/{id}";

            public const string CreateUser = Base + "/users";

            public const string GetUser = Base + "/users/{id}";

            public const string ExportUser = Base + "/users/export";

            public const string ExportTemplateUser = Base + "/users/exporttemplate";

            public const string ImportUser = Base + "/users/import";
        }

        public static class Role
        {
            public const string QueryRoles = Base + "/roles";

            public const string DeleteRole = Base + "/roles/{id}";

            public const string UpdateRole = Base + "/roles/{id}";

            public const string CreateRole = Base + "/roles";

            public const string GetRole = Base + "/roles/{id}";

            public const string ExportRole = Base + "/roles/export";

            public const string ExportTemplateRole = Base + "/roles/exporttemplate";

            public const string ImportRole = Base + "/roles/import";

            public const string QueryPermissions = Base + "/roles/{id}/permissions";

            public const string UpdatePermissions = Base + "/roles/{id}/permissions";

            public const string QueryUsers = Base + "/roles/{id}/users";

            public const string UpdateUsers = Base + "/roles/{id}/users";
        }

        public static class Permission
        {
            public const string QueryPermissions = Base + "/permissions";

            public const string DeletePermission = Base + "/permissions/{id}";

            public const string UpdatePermission = Base + "/permissions/{id}";

            public const string CreatePermission = Base + "/permissions";

            public const string GetPermission = Base + "/permissions/{id}";

            public const string ExportPermission = Base + "/permissions/export";

            public const string ExportTemplatePermission = Base + "/permissions/exporttemplate";

            public const string ImportPermission = Base + "/permissions/import";

            public const string TreePermission = Base + "/permissions/tree";

            public const string CurrentUserPermission = Base + "/permissions/currentuser";
        }

        public static class Job
        {
            public const string QueryJobs = Base + "/jobs";

            public const string DeleteJob = Base + "/jobs/{id}";

            public const string UpdateJob = Base + "/jobs/{id}";

            public const string CreateJob = Base + "/jobs";

            public const string GetJob = Base + "/jobs/{id}";

            public const string ExportJob = Base + "/jobs/export";

            public const string ExportTemplateJob = Base + "/jobs/exporttemplate";

            public const string ImportJob = Base + "/jobs/import";

            public const string TreeJob = Base + "/jobs/tree";

            public const string CurrentUserJob = Base + "/jobs/currentuser";
        }
        
        public static class Organization
        {
            public const string QueryOrganizations = Base + "/organizations";

            public const string DeleteOrganization = Base + "/organizations/{id}";

            public const string UpdateOrganization = Base + "/organizations/{id}";

            public const string CreateOrganization = Base + "/organizations";

            public const string GetOrganization = Base + "/organizations/{id}";

            public const string ExportOrganization = Base + "/organizations/export";

            public const string ExportTemplateOrganization = Base + "/organizations/exporttemplate";

            public const string ImportOrganization = Base + "/organizations/import";

            public const string TreeOrganization = Base + "/organizations/tree";

            public const string CurrentUserOrganization = Base + "/organizations/currentuser";
        }
    }
}